package com.ruoyi.cderp.domain;

import java.math.BigDecimal;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 销售出库单对象 tbl_sale_out_sheet_detail
 *
 * @author ruoyi
 * @date 2025-03-26
 */
public class TblSaleOutSheetDetail extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** ID */
    private String id;

    /** 出库单ID */
    @Excel(name = "出库单ID")
    private String sheetId;

    /** 商品ID */
    @Excel(name = "商品ID")
    private String productId;

    //商品信息列表
    private BaseDataProduct baseDataProduct;

    /** 出库数量 */
    @Excel(name = "出库数量")
    private Long orderNum;

    /** 原价 */
    @Excel(name = "原价")
    private BigDecimal oriPrice;

    /** 现价 */
    @Excel(name = "现价")
    private BigDecimal taxPrice;

    /** 折扣率（%） */
    @Excel(name = "折扣率", readConverterExp = "%=")
    private BigDecimal discountRate;

    /** 是否赠品 */
    @Excel(name = "是否赠品")
    private Integer isGift;

    /** 税率（%） */
    @Excel(name = "税率", readConverterExp = "%=")
    private BigDecimal taxRate;

    /** 备注 */
    @Excel(name = "备注")
    private String description;

    /** 排序编号 */
    @Excel(name = "排序编号")
    private Long orderNo;

    /** 结算状态 */
    @Excel(name = "结算状态")
    private Integer settleStatus;

    /** 销售订单明细ID */
    @Excel(name = "销售订单明细ID")
    private String saleOrderDetailId;

    /** 组合商品原始明细ID */
    @Excel(name = "组合商品原始明细ID")
    private String oriBundleDetailId;

    /** 已退货数量 */
    @Excel(name = "已退货数量")
    private Long returnNum;

    public BaseDataProduct getBaseDataProduct() {
        return baseDataProduct;
    }

    public void setBaseDataProduct(BaseDataProduct baseDataProduct) {
        this.baseDataProduct = baseDataProduct;
    }

    public void setId(String id)
    {
        this.id = id;
    }

    public String getId()
    {
        return id;
    }
    public void setSheetId(String sheetId)
    {
        this.sheetId = sheetId;
    }

    public String getSheetId()
    {
        return sheetId;
    }
    public void setProductId(String productId)
    {
        this.productId = productId;
    }

    public String getProductId()
    {
        return productId;
    }
    public void setOrderNum(Long orderNum)
    {
        this.orderNum = orderNum;
    }

    public Long getOrderNum()
    {
        return orderNum;
    }
    public void setOriPrice(BigDecimal oriPrice)
    {
        this.oriPrice = oriPrice;
    }

    public BigDecimal getOriPrice()
    {
        return oriPrice;
    }
    public void setTaxPrice(BigDecimal taxPrice)
    {
        this.taxPrice = taxPrice;
    }

    public BigDecimal getTaxPrice()
    {
        return taxPrice;
    }
    public void setDiscountRate(BigDecimal discountRate)
    {
        this.discountRate = discountRate;
    }

    public BigDecimal getDiscountRate()
    {
        return discountRate;
    }
    public void setIsGift(Integer isGift)
    {
        this.isGift = isGift;
    }

    public Integer getIsGift()
    {
        return isGift;
    }
    public void setTaxRate(BigDecimal taxRate)
    {
        this.taxRate = taxRate;
    }

    public BigDecimal getTaxRate()
    {
        return taxRate;
    }
    public void setDescription(String description)
    {
        this.description = description;
    }

    public String getDescription()
    {
        return description;
    }
    public void setOrderNo(Long orderNo)
    {
        this.orderNo = orderNo;
    }

    public Long getOrderNo()
    {
        return orderNo;
    }
    public void setSettleStatus(Integer settleStatus)
    {
        this.settleStatus = settleStatus;
    }

    public Integer getSettleStatus()
    {
        return settleStatus;
    }
    public void setSaleOrderDetailId(String saleOrderDetailId)
    {
        this.saleOrderDetailId = saleOrderDetailId;
    }

    public String getSaleOrderDetailId()
    {
        return saleOrderDetailId;
    }
    public void setOriBundleDetailId(String oriBundleDetailId)
    {
        this.oriBundleDetailId = oriBundleDetailId;
    }

    public String getOriBundleDetailId()
    {
        return oriBundleDetailId;
    }
    public void setReturnNum(Long returnNum)
    {
        this.returnNum = returnNum;
    }

    public Long getReturnNum()
    {
        return returnNum;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("sheetId", getSheetId())
            .append("productId", getProductId())
            .append("orderNum", getOrderNum())
            .append("oriPrice", getOriPrice())
            .append("taxPrice", getTaxPrice())
            .append("discountRate", getDiscountRate())
            .append("isGift", getIsGift())
            .append("taxRate", getTaxRate())
            .append("description", getDescription())
            .append("orderNo", getOrderNo())
            .append("settleStatus", getSettleStatus())
            .append("saleOrderDetailId", getSaleOrderDetailId())
            .append("oriBundleDetailId", getOriBundleDetailId())
            .append("returnNum", getReturnNum())
            .toString();
    }
}
